package picol.view;

import java.io.FileNotFoundException;
import picol.view.exception.SaveException;
import picol.controller.Controler;

/**
 *
 * @author Aurélien Marcel - Julien Sanderson
 */
public interface View {

    /**
     * Display a view
     */
    public void display();

    /**
     * Close a view
     */
    public void close();

    /**
     * Subscribe component to a controler
     * @param _controler
     */
    public void subscription(Controler _controler);

    /**
     * Allow to listen view's components
     */
    public void listening();

    public int getLineCount();

    public int getCounterList();

    public void setCounterList(int _count);

    public void setLineCount();

    public boolean saveFile() throws SaveException;

    public void openFile() throws FileNotFoundException;

    public String getProjectPath();

    public void appendOutput(String string);

    public void writeOutput(String _string);

    public void setOutput(String string);

    public int getClickedLine();

    public void setClickedLine(int line);

    public void setDebugMode(boolean mode);

    public int getScanValue();

    public void refreshMemory(String varList);

    public void newFile();

    public boolean saveAsFile() throws SaveException;
}
